package com.niit.spark.sql

import org.apache.spark.sql.{DataFrame, SaveMode, SparkSession}

/**
 * Date:2025/5/14
 * Author：Ys
 * Description:
 */
object SparkSQL_JDBC {

  def main(args: Array[String]): Unit = {

    val spark = SparkSession.builder().appName("SparkSQL_JDBC").master("local[*]").getOrCreate()
    spark.sparkContext.setLogLevel("ERROR")
    import spark.implicits._

    //读取数据库
    val df: DataFrame = spark.read.format("jdbc") //  指定数据源 JDBC mysql
      .option("url", "jdbc:mysql://localhost:3306/hoj")// 指定连接地址
      .option("driver", "com.mysql.cj.jdbc.Driver")// 指定驱动  8.0 com.mysql.cj.jdbc.Driver
      .option("user", "root")//  指定用户名
      .option("password", "Niit@123")//  指定密码
      .option("dbtable", "auth")//  指定表名
      .load()
    //show 默认展示20条数据
    df.show(9999)

    //写入数据库
    df.write.format("jdbc")
      .option("url", "jdbc:mysql://localhost:3306/hoj")
      .option("driver", "com.mysql.cj.jdbc.Driver")
      .option("user", "root")
      .option("password", "Niit@123")
      .option("dbtable", "auth2")// 写入数据库的新表名
      .mode(SaveMode.Append)//  指定写入模式
      .save()

    spark.stop()



  }

}
